package com.fowo.api.service.handleWork.jindieEntity;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class inStock {

    @JsonProperty("code")
    private Integer code;
    @JsonProperty("message")
    private String message;
    @JsonProperty("error_details")
    private List<?> errorDetails;
    @JsonProperty("request_id")
    private String requestId;
    @JsonProperty("response_time")
    private String responseTime;
    @JsonProperty("data")
    private List<DataDTO> data;
    @JsonProperty("total")
    private Integer total;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("order_sn")
        private String orderSn;
        @JsonProperty("wid")
        private Integer wid;
        @JsonProperty("purchase_order_sn")
        private String purchaseOrderSn;
        @JsonProperty("opt_uid")
        private Integer optUid;
        @JsonProperty("opt_time")
        private String optTime;
        @JsonProperty("inbound_time")
        private String inboundTime;
        @JsonProperty("create_uid")
        private Integer createUid;
        @JsonProperty("create_time")
        private String createTime;
        @JsonProperty("commit_uid")
        private Integer commitUid;
        @JsonProperty("commit_time")
        private String commitTime;
        @JsonProperty("revoke_uid")
        private Integer revokeUid;
        @JsonProperty("revoke_time")
        private String revokeTime;
        @JsonProperty("supplier_id")
        private Integer supplierId;
        @JsonProperty("supplier_name")
        private String supplierName;
        @JsonProperty("order_amount")
        private String orderAmount;
        @JsonProperty("cg_uid")
        private Integer cgUid;
        @JsonProperty("return_price")
        private String returnPrice;
        @JsonProperty("other_fee")
        private String otherFee;
        @JsonProperty("fee_part_type")
        private Integer feePartType;
        @JsonProperty("fee_part_type_text")
        private String feePartTypeText;
        @JsonProperty("opt_realname")
        private String optRealname;
        @JsonProperty("type")
        private Integer type;
        @JsonProperty("type_text")
        private String typeText;
        @JsonProperty("status")
        private Integer status;
        @JsonProperty("status_text")
        private String statusText;
        @JsonProperty("source_sn")
        private String sourceSn;
        @JsonProperty("currency")
        private String currency;
        @JsonProperty("cg_realname")
        private String cgRealname;
        @JsonProperty("create_realname")
        private String createRealname;
        @JsonProperty("commit_realname")
        private String commitRealname;
        @JsonProperty("revoke_realname")
        private String revokeRealname;
        @JsonProperty("ware_house_name")
        private String wareHouseName;
        @JsonProperty("remark")
        private String remark;
        @JsonProperty("increment_time")
        private String incrementTime;
        @JsonProperty("item_list")
        private List<ItemListDTO> itemList;

        @NoArgsConstructor
        @Data
        public static class ItemListDTO {
            @JsonProperty("product_name")
            private String productName;
            @JsonProperty("sku")
            private String sku;
            @JsonProperty("fnsku")
            private String fnsku;
            @JsonProperty("seller_id")
            private String sellerId;
            @JsonProperty("product_total")
            private Integer productTotal;
            @JsonProperty("product_good_num")
            private Integer productGoodNum;
            @JsonProperty("product_bad_num")
            private Integer productBadNum;
            @JsonProperty("product_qc_num")
            private Integer productQcNum;
            @JsonProperty("product_onshelf_num")
            private Integer productOnshelfNum;
            @JsonProperty("product_shelf_num")
            private Integer productShelfNum;
            @JsonProperty("price")
            private String price;
            @JsonProperty("amount")
            private String amount;
            @JsonProperty("fee_cost")
            private String feeCost;
            @JsonProperty("head_way_fee")
            private String headWayFee;
            @JsonProperty("product_amounts")
            private String productAmounts;
            @JsonProperty("single_fee")
            private String singleFee;
            @JsonProperty("unit_head_fee")
            private String unitHeadFee;
            @JsonProperty("single_stock_cost")
            private String singleStockCost;
            @JsonProperty("product_remark")
            private String productRemark;
        }
    }
}
